// file.js

var fs = require('fs');	
var path = require('path');

// index
exports.index = function(req, res){
	console.log( __dirname );
	var filepath =  path.join(__dirname, '../../public/file') ;

	// 文件重命名
	// fs.exists( filepath +'/aa1.txt', function(err){
	// 	if ( !err ) {
	// 		//rename修改文件名称
	// 		fs.rename(filepath + '/aa1.txt', filepath + '/aa1.txt', function(err){
	// 			if(err){
	// 				throw err;
	// 			}	
	// 		});
	// 		// renameSync 重命名文件
	// 		fs.renameSync(filepath + '/aa1.txt', filepath + '/aa1.txt');
	// 	};
	// })

	//检测文件是否存在
	var filename = 'aa2.txt';
	fs.exists(filepath + '/' +filename , function(exists){
		if ( exists ) {
			//向文件写入内容
			fs.writeFile(filepath + '/' +filename,　'Hello Word', function(err){
				if ( err ) throw err;
				console.log('写入成功');
			})
			//读取写入的文件内容
			fs.readFile(filepath + '/' +filename, function(err, data){
				if ( err ) throw err;
				console.log( data.toString() );
			});
			//截断文件,将文件的内容截断Ｎ个字符然后在保存，也就是改变了文件的内容
			//同样的函数还有truncateSync...
			fs.truncate( filepath + '/' + filename, 12, function(err){
				if ( err ) {
					console.log( err );
				};
			} )
			// 获取文件信息
			fs.lstat( filepath + '/' + filename, function(err, stats){
				console.log( stats );
			})
			// 获取文件描述符的信息。 
			fs.open( filepath + '/' + filename, 'r', function(err, fd){
				fs.fstat(fd, function(err, stats){
					res.send( stats );
				});
			} )
		};
	})
}